home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / lsdscrollmenu.lha / daves_menu.s next >
Encoding:
Text File  |  1989-08-17  |  14.7 KB  |  747 lines

  1.      Section Copperlist,code_C
  2.  
  3.     opt    c-
  4.  
  5.     move.l    #screenlen,d0
  6.     move.l    #screen,a0
  7. clear:
  8.     move.l    #0,(a0)+
  9.     sub.l    #4,d0
  10.     bpl.s    clear
  11.  
  12.     move.l  4.w,a6        ; open graphics lib
  13.     jsr     -$84(a6)    ; suspend all current tasks
  14.     lea    glib,a1
  15.     moveq    #0,d0
  16.     move.l    4.w,a6
  17.     jsr    -$228(a6)
  18.     tst    d0
  19.     beq    error
  20.     move.l    D0,graphics    ; store address of graphics lib
  21.  
  22.     lea    dlib,a1
  23.     moveq    #0,d0
  24.     move.l    4.w,a6
  25.     jsr    -$228(a6)
  26.     tst    d0
  27.     beq    error
  28.     move.l    d0,dos
  29.         
  30.     move.l    #Screen,d0    ; store address of bitplane0
  31.     move.w    d0,bitplane0_lo    ; into the copper list
  32.     swap    d0
  33.     move.w    d0,bitplane0_hi
  34.         
  35.     lea    text,a1
  36.     move.l    graphics,a6
  37.     add.l    #$32,a6
  38.     move.w    #$80,$dff096        ; dma control write
  39.     move.l    (a6),old_copper        ; store the address of the
  40.     move.l    #my_copper,(a6)        ; old copperlist
  41.     move.w    #$8080,$dff096        ; dma control write
  42.     move.w    #$8010,$dff09a        ; interupt enable bits
  43.     move.l    $6c.w,old_interupt    ; store old level 3 int
  44.     move.l    #new_interupt,$6c.w    ; store my routine
  45.  
  46.     jsr    setup_screen
  47.     
  48.     move.w    #(default-1)*16*256,$dff036
  49.     bchg    #1,$bfe001        ; ? turn led off
  50.  
  51. mouse:    btst    #6,$bfe001
  52.     bne.s    mouse            ; wait for lmb
  53.  
  54.     bchg    #1,$bfe001
  55.     
  56.     move.l    old_interupt,$6c.w    ; resore old level 3 int
  57.     move.l    #$10,$dff09a         ; Disable Level 3 Interupt
  58.     move.l    graphics,a6
  59.     add.l    #$32,a6
  60.     move.w    #$0080,$dff096
  61.     move.l    old_copper,(a6)        ; restore old copper list
  62.     move.w    #$8080,$dff096
  63.     move.l    graphics,a1
  64.     move.l    4.w,a6
  65.     jsr    -$19e(a6)
  66.     move.l    4.w,a6
  67.     jsr    -138(a6)
  68.     
  69.     move.w    ypos,d0
  70.     mulu    #4,d0
  71.     move.l    d0,a0
  72.     lea    runtable,a1
  73.     adda.l    a1,a0
  74.     move.l    (a0),a1
  75.  
  76. run_again:    
  77.     move.b    (a1),d0
  78.     beq.s    error
  79.     move.l    dos,a6
  80.     move.l    a1,d1
  81.     clr    d2
  82.     clr    d3
  83.  
  84.     movem.l    d0-d7/a0-a6,-(sp)
  85.     jsr    -$de(a6)
  86.     movem.l    (sp)+,d0-d7/a0-a6    
  87.  
  88. next_run:
  89.     move.b    (a1)+,d0
  90.     bne.s    next_run
  91.     bra.s    run_again
  92.  
  93. Error:    moveq    #0,d0            
  94.     rts
  95.  
  96. new_interupt:
  97.     movem.l    d0-d7/a0-a6,-(sp)
  98.  
  99.     And.w    #$10,$dff01e
  100.     Beq    no_music
  101.     Move.w    #$10,$dff09c
  102.  
  103.     sub.l    #1,delay2
  104.     bpl.s    skip
  105.     move.l    #0,delay2 
  106.     jsr    scroll_text
  107.     
  108. skip:
  109.  
  110.     move.w    #0,mini_colour1
  111.     move.w    #0,mini_colour2
  112.     move.w    #0,mini_colour3
  113.     move.w    #0,mini_colour4
  114.     move.w    #0,mini_colour5
  115.     
  116.     move.w    $dff00a,d0
  117.     lsr.w    #8,d0
  118.     divu    #divider,d0
  119.     cmp.w    #max,d0
  120.     blt.s    mousey_ok
  121.     cmp.w    #6,d0
  122.     bgt.s    neg_mouse
  123.  
  124.     move.w    #(max-1)*divider*256,$dff036
  125.     move.w    ypos,d0
  126.     bra.s    mousey_ok    
  127.     
  128. neg_mouse:
  129.     move.w    #0,$dff036
  130.     move.w    #0,d0
  131.     
  132. mousey_ok:
  133.     
  134.     move.w    d0,ypos
  135.     mulu    #4,d0
  136.     move.l    d0,a0
  137.     lea    lookup,a1
  138.     adda.l    a1,a0
  139.     
  140.     move.l    (a0),a1
  141.     move.w    #barcolour,(a1)
  142.     
  143. wait_irq:
  144.     move.l    #Screen,d0    
  145.     add.l    #(bounce*46),d0
  146.     move.l    sine_pos,a0
  147.     move.w    (a0),d1
  148.     mulu    #46,d1
  149.     add.l    #2,sine_pos
  150.     move.l    sine_pos,d2
  151.     cmp.l    #sine_end,d2
  152.     bne.s    sine_ok
  153.     move.l    #sine_list,sine_pos
  154. sine_ok:
  155.     add.l    d1,d0
  156.     move.w    d0,bitplane1_lo
  157.     swap    d0
  158.     move.w    d0,bitplane1_hi
  159.  
  160.  
  161.     jsr    do_scrolling_menus
  162.     
  163. no_music:
  164.     movem.l    (sp)+,d0-d7/a0-a6    
  165.     dc.w    $4ef9            ; jmp
  166. old_interupt:    dc.l    0        ; the old int lev 3
  167.  
  168.  
  169. do_blit:
  170.     btst.b    #6,$dff002
  171.     Bne.s    do_blit
  172.     rts
  173.  
  174. setup_screen:
  175.  
  176.     lea    mes1,a1
  177.     move.l    #screen+(001*46)+2,a2
  178.     jsr    blit_message
  179.     
  180.     move.l    #screen+(020*46)+2,a2
  181.     jsr    blit_message
  182.  
  183.     rts
  184.     
  185. blit_message:
  186.     move.l    a1,a6
  187.     add.l    #3,a2
  188.     clr.b    d0
  189.     move.l    #2,d1
  190.     
  191. blit_message_loop1:
  192.     add.l    #1,d1
  193.     move.b    (a6),d0
  194.     addq    #1,a6
  195.     cmp.b    #0,d0
  196.     bne.s    blit_message_loop1
  197.     
  198.     move.l    #23,a6
  199.     sub.l    d1,a6
  200.     add.l    a6,a2
  201.     
  202.  
  203. cont_blit_message:
  204.     clr.w    d0
  205.     lea    font,a0
  206.     move.b    (a1),d0
  207.     add.l    #1,a1
  208.     cmp.b    #0,d0
  209.     bne.s    mess_is_ok
  210.     
  211.     rts
  212.     
  213.     
  214. mess_is_ok:
  215.     sub    #32,d0
  216.     mulu    #32,d0
  217.     add    d0,a0
  218.     
  219.     Move.l    a2,$dff054        ; dest mem
  220.     Move.l    a0,$dff050        ; source mem
  221.     Move.l    #$ffffffff,$dff044    ; blit mask source a
  222.     move.l    #1,$dff064        ; blit modulo for source a
  223.     Move.w    #%100111110000,$dff040    ; blit cont reg 0
  224.     move.w    #0,$dff042        ; blit cont reg 1
  225.     Move.w    #44,$dff066        ; modulo for dest
  226.     Move.w    #%0000010000000001,$dff058    ; blit width,height
  227.     ;     [hhhhhhhhhhwwwwww] 
  228.  
  229.     jsr    do_blit
  230.     add.l    #2,a2
  231.     bra    cont_blit_message
  232.     
  233.  
  234. tadd    equ    230*46
  235.  
  236. scroll_text:
  237.     subq.l    #1,delay
  238.     move.l    delay,d0
  239.     cmp.l    #1,d0
  240.     bgt    sub_ok
  241.     move.l    #2,delay
  242.     
  243.     move.w    #bounce_speed,d0
  244.     sub.w    d0,scroll_off        ; update the horz
  245.     bpl     sub_ok            ; scroll register
  246.     add.w    #16,scroll_off        ; if <> 15 goto end of routine
  247.     
  248.     Move.l    #screen+tadd+0,$dff054    ; dest mem
  249.     Move.l    #screen+tadd+2,$dff050    ; source mem
  250.     Move.l    #$ffffffff,$dff044    ; blit mask source a
  251.     move.l    #0,$dff064        ; blit modulo for source a
  252.     Move.w    #%100111110000,$dff040    ; blit cont reg 0
  253.     move.w    #0,$dff042        ; blit cont reg 1
  254.     Move.w    #0,$dff066        ; modulo for dest
  255.     Move.w    #(44*64)+8,$dff058    ; blit width,height
  256.  
  257. wait_blit2:
  258.     Btst.b    #6,$dff002        ; wait for the blit
  259.     Bne.s    wait_blit2        ; to finish
  260.     
  261.     clr.w    d0
  262.     lea    font,a0
  263.     move.l    textpoint,a1
  264.     move.b    (a1),d0
  265.     addq.l    #1,textpoint
  266.     cmp.b    #0,d0
  267.     bne.s    ascii_is_ok
  268.     lea    text,a1
  269.     move.l    a1,textpoint
  270.     move.b    #32,d0
  271.     
  272.     
  273. ascii_is_ok:
  274.     sub    #32,d0
  275.     mulu    #32,d0
  276.     add    d0,a0
  277.     
  278.     Move.l    #screen+tadd+44,$dff054    ; dest mem
  279.     Move.l    a0,$dff050        ; source mem
  280.     Move.l    #$ffffffff,$dff044    ; blit mask source a
  281.     move.l    #1,$dff064        ; blit modulo for source a
  282.     Move.w    #%100111110000,$dff040    ; blit cont reg 0
  283.     move.w    #0,$dff042        ; blit cont reg 1
  284.     Move.w    #44,$dff066        ; modulo for dest
  285.     Move.w    #%0000010000000001,$dff058    ; blit width,height
  286.     ;     [hhhhhhhhhhwwwwww] 
  287. wait_blit:
  288.     Btst.b    #6,$dff002        ; wait for the blit
  289.     Bne.s    wait_blit        ; to finish
  290.  
  291. sub_ok:
  292.     rts                ; fin
  293.     
  294. textpoint:    dc.l    0    
  295.  
  296. do_scrolling_menus:
  297.  
  298.     lea    mini_scroll1,a0
  299.     move.l    scrollpoint1,a1
  300.     move.l    #screen+(42*46),a2
  301.     lea    scrollpoint1,a3
  302.     lea    scroller1,a4
  303.     move.w    #mini_1_speed,d0
  304.     
  305.     jsr    update_menus
  306.  
  307.     lea    mini_scroll2,a0
  308.     move.l    scrollpoint2,a1
  309.     move.l    #screen+(62*46),a2
  310.     lea    scrollpoint2,a3
  311.     lea    scroller2,a4
  312.     move.w    #mini_2_speed,d0
  313.     
  314.     jsr    update_menus
  315.  
  316.     lea    mini_scroll3,a0
  317.     move.l    scrollpoint3,a1
  318.     move.l    #screen+(82*46),a2
  319.     lea    scrollpoint3,a3
  320.     lea    scroller3,a4
  321.     move.w    #mini_3_speed,d0
  322.  
  323.     jsr    update_menus
  324.     
  325.     lea    mini_scroll4,a0
  326.     move.l    scrollpoint4,a1
  327.     move.l    #screen+(102*46),a2
  328.     lea    scrollpoint4,a3
  329.     lea    scroller4,a4
  330.     move.w    #mini_4_speed,d0
  331.  
  332.     jsr    update_menus
  333.     
  334.     lea    mini_scroll5,a0
  335.     move.l    scrollpoint5,a1
  336.     move.l    #screen+(122*46),a2
  337.     lea    scrollpoint5,a3
  338.     lea    scroller5,a4
  339.     move.w    #mini_5_speed,d0
  340.     
  341.     jsr    update_menus
  342.     
  343.  
  344. scroller_is_ok:
  345.     rts
  346.     
  347. update_menus:
  348.  
  349.     sub.w    d0,(a0)
  350.     bpl     scroller_is_ok    
  351.     add.w    #16,(a0)
  352.     
  353.     move.l    a2,a5
  354.     move.l    a2,a6
  355.     add.l    #2,a6
  356.     
  357.     Move.l    a5,$dff054    ; dest mem
  358.     Move.l    a6,$dff050    ; source mem
  359.     Move.l    #$ffffffff,$dff044    ; blit mask source a
  360.     move.l    #0,$dff064        ; blit modulo for source a
  361.     Move.w    #%100111110000,$dff040    ; blit cont reg 0
  362.     move.w    #0,$dff042        ; blit cont reg 1
  363.     Move.w    #0,$dff066        ; modulo for dest
  364.     Move.w    #(44*64)+8,$dff058    ; blit width,height
  365.     jsr    do_blit
  366.     
  367.     clr.w    d0
  368.     lea    font,a0
  369.     move.b    (a1),d0
  370.     addq.l    #1,(a3)
  371.     cmp.b    #0,d0
  372.     bne.s    ascii_is_ok2
  373.     move.l    a4,(a3)
  374.     move.l    #32,d0
  375.     
  376. ascii_is_ok2:
  377.     sub    #32,d0
  378.     mulu    #32,d0
  379.     add    d0,a0
  380.     
  381.     move.l    a2,a6
  382.     add.l    #44,a6
  383.     
  384.     Move.l    a6,$dff054    ; dest mem
  385.     Move.l    a0,$dff050        ; source mem
  386.     Move.l    #$ffffffff,$dff044    ; blit mask source a
  387.     move.l    #1,$dff064        ; blit modulo for source a
  388.     Move.w    #%100111110000,$dff040    ; blit cont reg 0
  389.     move.w    #0,$dff042        ; blit cont reg 1
  390.     Move.w    #44,$dff066        ; modulo for dest
  391.     Move.w    #%0000010000000001,$dff058    ; blit width,height
  392.     ;     [hhhhhhhhhhwwwwww] 
  393.  
  394.     jsr    do_blit
  395.  
  396.     rts
  397.  
  398.     
  399.     
  400.     Section    copdat,Data_c
  401.  
  402.  
  403. scrollpoint1:    dc.l    scroller1
  404. scrollpoint2:    dc.l    scroller2
  405. scrollpoint3:    dc.l    scroller3
  406. scrollpoint4:    dc.l    scroller4
  407. scrollpoint5:    dc.l    scroller5
  408.  
  409. sine_list:
  410.     dc.w    43
  411.     dc.w    48
  412.     dc.w    54
  413.     dc.w    60
  414.     dc.w    65
  415.     dc.w    70
  416.     dc.w    74
  417.     dc.w    78
  418.     dc.w    81
  419.     dc.w    83
  420.     dc.w    85
  421.     dc.w    85
  422.     dc.w    85
  423.     dc.w    84
  424.     dc.w    82
  425.     dc.w    80
  426.     dc.w    76
  427.     dc.w    72
  428.     dc.w    68
  429.     dc.w    63
  430.     dc.w    57
  431.     dc.w    51
  432.     dc.w    45
  433.     dc.w    40
  434.     dc.w    34
  435.     dc.w    28
  436.     dc.w    22
  437.     dc.w    17
  438.     dc.w    13
  439.     dc.w    9
  440.     dc.w    5
  441.     dc.w    3
  442.     dc.w    1
  443.     dc.w    0
  444.     dc.w    0
  445.     dc.w    0
  446.     dc.w    2
  447.     dc.w    4
  448.     dc.w    7
  449.     dc.w    11
  450.     dc.w    15
  451.     dc.w    20
  452.     dc.w    25
  453.     dc.w    31
  454.     dc.w    37
  455. sine_end:    
  456.  
  457.  
  458. old_copper:    dc.l    0
  459.  
  460.     even
  461.     
  462. my_copper:    dc.w    $100,$1200    ; 1 bp - lores - 
  463.         dc.w    $104,$a        ; bp control reg
  464.         dc.w    $108,0        ; bp modulo - odd
  465.         dc.w    $10a,0        ; bp modulo - even
  466.         dc.w    $180,0
  467.         dc.w    $102,0
  468.         
  469.         dc.w    $120,0,$122,0
  470.     
  471.         dc.w    $092,$23    ; bp start horz
  472.         dc.w    $08e,$2c70    ; bp window start left
  473.         dc.w    $090,$2cd0    ; bp window bot right
  474.         dc.w    $094,$2dd3    ; bp stop horz
  475.         
  476.         dc.w    $0e0        ; bp 1 address hi-byte
  477. bitplane0_hi:    dc.w    0
  478.         dc.w    $e2        ; bp 1 address
  479. bitplane0_lo:    dc.w    0
  480.         
  481.         dc.w    $2aff,$ff00,$180,$fff,$2bff,$ff00,$180,titlebg
  482.         dc.w    $102,centre_mes1_1*8
  483.         dc.w    $2dff,$ff00,$182,$888
  484.         dc.w    $2eff,$ff00,$182,$999
  485.         dc.w    $2fff,$ff00,$182,$aaa
  486.         dc.w    $30ff,$ff00,$182,$bbb
  487.         dc.w    $31ff,$ff00,$182,$ccc
  488.         dc.w    $32ff,$ff00,$182,$ddd
  489.         dc.w    $33ff,$ff00,$182,$eee
  490.         dc.w    $34ff,$ff00,$182,$fff
  491.         dc.w    $35ff,$ff00,$182,$eee
  492.         dc.w    $36ff,$ff00,$182,$ddd
  493.         dc.w    $37ff,$ff00,$182,$ccc
  494.         dc.w    $38ff,$ff00,$182,$bbb
  495.         dc.w    $39ff,$ff00,$182,$aaa
  496.         dc.w    $3aff,$ff00,$182,$999
  497.         dc.w    $3bff,$ff00,$182,$888
  498.         dc.w    $3cff,$ff00,$182,$777
  499.         dc.w    $3dff,$ff00,$182,$fff
  500.  
  501.         dc.w    $102,centre_mes1_2*8
  502.         dc.w    $40ff,$ff00,$182,$888
  503.         dc.w    $41ff,$ff00,$182,$999
  504.         dc.w    $42ff,$ff00,$182,$aaa
  505.         dc.w    $43ff,$ff00,$182,$bbb
  506.         dc.w    $44ff,$ff00,$182,$ccc
  507.         dc.w    $45ff,$ff00,$182,$ddd
  508.         dc.w    $46ff,$ff00,$182,$eee
  509.         dc.w    $47ff,$ff00,$182,$fff
  510.         dc.w    $48ff,$ff00,$182,$eee
  511.         dc.w    $49ff,$ff00,$182,$ddd
  512.         dc.w    $4aff,$ff00,$182,$ccc
  513.         dc.w    $4bff,$ff00,$182,$bbb
  514.         dc.w    $4cff,$ff00,$182,$aaa
  515.         dc.w    $4dff,$ff00,$182,$999
  516.         dc.w    $4eff,$ff00,$182,$888
  517.         dc.w    $4fff,$ff00,$182,$777
  518.         
  519.         
  520.         
  521.         dc.w    $51ff,$ff00,$180,$fff,$52ff,$ff00,$180,$000
  522.         dc.w    $102
  523. mini_scroll1:    dc.w    0
  524.         
  525.         dc.w    $55ff,$ff00,$182,$880
  526.         dc.w    $180
  527. mini_colour1:    dc.w    $fff
  528.         
  529.         dc.w    $56ff,$ff00,$182,$990
  530.         dc.w    $57ff,$ff00,$182,$aa0
  531.         dc.w    $58ff,$ff00,$182,$bb0
  532.         dc.w    $59ff,$ff00,$182,$cc0
  533.         dc.w    $5aff,$ff00,$182,$dd0
  534.         dc.w    $5bff,$ff00,$182,$ee0
  535.         dc.w    $5cff,$ff00,$182,$ff0
  536.         dc.w    $5dff,$ff00,$182,$ee0
  537.         dc.w    $5eff,$ff00,$182,$dd0
  538.         dc.w    $5fff,$ff00,$182,$cc0
  539.         dc.w    $60ff,$ff00,$182,$bb0
  540.         dc.w    $61ff,$ff00,$182,$aa0
  541.         dc.w    $62ff,$ff00,$182,$990
  542.         dc.w    $63ff,$ff00,$182,$880
  543.         dc.w    $64ff,$ff00,$182,$770
  544.         dc.w    $66ff,$ff00,$180,$000
  545.  
  546.         dc.w    $68ff,$ff00,$102
  547. mini_scroll2:    dc.w    0
  548.  
  549.         dc.w    $69ff,$ff00,$182,$880
  550.         dc.w    $180
  551. mini_colour2:    dc.w    $fff
  552.         dc.w    $6aff,$ff00,$182,$990
  553.         dc.w    $6bff,$ff00,$182,$aa0
  554.         dc.w    $6cff,$ff00,$182,$bb0
  555.         dc.w    $6dff,$ff00,$182,$cc0
  556.         dc.w    $6eff,$ff00,$182,$dd0
  557.         dc.w    $6fff,$ff00,$182,$ee0
  558.         dc.w    $70ff,$ff00,$182,$ff0
  559.         dc.w    $71ff,$ff00,$182,$ee0
  560.         dc.w    $72ff,$ff00,$182,$dd0
  561.         dc.w    $73ff,$ff00,$182,$cc0
  562.         dc.w    $74ff,$ff00,$182,$bb0
  563.         dc.w    $75ff,$ff00,$182,$aa0
  564.         dc.w    $76ff,$ff00,$182,$990
  565.         dc.w    $77ff,$ff00,$182,$880
  566.         dc.w    $78ff,$ff00,$182,$770
  567.         
  568.         dc.w    $7aff,$ff00,$180,$000
  569.         
  570.         dc.w    $7cff,$ff00,$102
  571. mini_scroll3:    dc.w    0
  572.  
  573.         dc.w    $7dff,$ff00,$182,$880
  574.         dc.w    $180
  575. mini_colour3:    dc.w    $fff
  576.         
  577.         dc.w    $7eff,$ff00,$182,$990
  578.         dc.w    $7fff,$ff00,$182,$aa0
  579.         dc.w    $80ff,$ff00,$182,$bb0
  580.         dc.w    $81ff,$ff00,$182,$cc0
  581.         dc.w    $82ff,$ff00,$182,$dd0
  582.         dc.w    $83ff,$ff00,$182,$ee0
  583.         dc.w    $84ff,$ff00,$182,$ff0
  584.         dc.w    $85ff,$ff00,$182,$ee0
  585.         dc.w    $86ff,$ff00,$182,$dd0
  586.         dc.w    $87ff,$ff00,$182,$cc0
  587.         dc.w    $88ff,$ff00,$182,$bb0
  588.         dc.w    $89ff,$ff00,$182,$aa0
  589.         dc.w    $8aff,$ff00,$182,$990
  590.         dc.w    $8bff,$ff00,$182,$880
  591.         dc.w    $8cff,$ff00,$182,$770
  592.         
  593.         dc.w    $8eff,$ff00,$180,$000
  594.  
  595.  
  596.         dc.w    $90ff,$ff00,$102
  597. mini_scroll4:    dc.w    0
  598.  
  599.         dc.w    $91ff,$ff00,$182,$880
  600.         dc.w    $180
  601. mini_colour4:    dc.w    $fff
  602.         dc.w    $92ff,$ff00,$182,$990
  603.         dc.w    $93ff,$ff00,$182,$aa0
  604.         dc.w    $94ff,$ff00,$182,$bb0
  605.         dc.w    $95ff,$ff00,$182,$cc0
  606.         dc.w    $96ff,$ff00,$182,$dd0
  607.         dc.w    $97ff,$ff00,$182,$ee0
  608.         dc.w    $98ff,$ff00,$182,$ff0
  609.         dc.w    $99ff,$ff00,$182,$ee0
  610.         dc.w    $9aff,$ff00,$182,$dd0
  611.         dc.w    $9bff,$ff00,$182,$cc0
  612.         dc.w    $9cff,$ff00,$182,$bb0
  613.         dc.w    $9dff,$ff00,$182,$aa0
  614.         dc.w    $9eff,$ff00,$182,$990
  615.         dc.w    $9fff,$ff00,$182,$880
  616.         dc.w    $a0ff,$ff00,$182,$770
  617.         dc.w    $a2ff,$ff00,$180,$000
  618.         
  619.         dc.w    $a5ff,$ff00,$102
  620. mini_scroll5:    dc.w    0    
  621.         
  622.         dc.w    $a5ff,$ff00,$182,$880
  623.         dc.w    $180
  624. mini_colour5:    dc.w    $fff
  625.         dc.w    $a6ff,$ff00,$182,$990
  626.         dc.w    $a7ff,$ff00,$182,$aa0
  627.         dc.w    $a8ff,$ff00,$182,$bb0
  628.         dc.w    $a9ff,$ff00,$182,$cc0
  629.         dc.w    $aaff,$ff00,$182,$dd0
  630.         dc.w    $abff,$ff00,$182,$ee0
  631.         dc.w    $acff,$ff00,$182,$ff0
  632.         dc.w    $abff,$ff00,$182,$ee0
  633.         dc.w    $aeff,$ff00,$182,$dd0
  634.         dc.w    $afff,$ff00,$182,$cc0
  635.         dc.w    $b0ff,$ff00,$182,$bb0
  636.         dc.w    $b1ff,$ff00,$182,$aa0
  637.         dc.w    $b2ff,$ff00,$182,$990
  638.         dc.w    $b3ff,$ff00,$182,$880
  639.         dc.w    $b4ff,$ff00,$182,$770
  640.         
  641.         dc.w    $b6ff,$ff00,$180,$000
  642.         dc.w    $182,bouncecolour
  643.         
  644.         dc.w    $b8ff,$ff00,$180,$fff,$b9ff,$ff00,$180,$000
  645.         dc.w    $c0ff,$ff00,$102
  646. scroll_off:    dc.w    0
  647.         dc.w    $e0
  648. bitplane1_hi:    dc.w    0
  649.         dc.w    $e2
  650. bitplane1_lo:    dc.w    0
  651.  
  652.         Dc.w    $ffe1,$fffe
  653.         dc.w    $30e1,$fffe
  654.         
  655.         dc.w    $9c,$8010    ; irq set bits - ?
  656.         dc.w    $ffff,$fffe    ; end of copper list
  657.     
  658. glib:        dc.b    "graphics.library",0
  659.     even
  660. dlib:        dc.b    "dos.library",0    
  661.     even                
  662. graphics:    dc.l    0
  663. dos:        dc.l    0
  664. count:        dc.l    0
  665. delay:        dc.l    0
  666. sine_pos:    dc.l    sine_list
  667. bounce        equ    144
  668.  
  669. screenlen    equ    46*348
  670. screen        equ    $70000
  671. ypos:        dc.l    0
  672.  
  673. lookup:        dc.l    mini_colour1
  674.         dc.l    mini_colour2
  675.         dc.l    mini_colour3
  676.         dc.l    mini_colour4
  677.         dc.l    mini_colour5
  678.  
  679. runtable:    dc.l    run1
  680.         dc.l    run2
  681.         dc.l    run3
  682.         dc.l    run4
  683.         dc.l    run5
  684.         
  685. font:        incbin    "twenties.binfont"
  686.  
  687. text:
  688.     dc.b    "CONTACT LSD ON (0427) 611892 UK.  MENU WRITTEN BY SHAGRATT.  COMPILED BY PARASITE.  "
  689.     dc.b    "LSD ARE (IN NO ORDER) SHAGRATT, BILLY BONE (BONE 'ED), PARASITE, CTHULHU, CYLON, OSSWALD, BUZBY, REBEL, "
  690.     dc.b    "AMIGA JOE, MARK SCOTLAND, STIGA, A.S.L. (THATS THE LOT (I THINK!))  GREETZ GO TO: SLIPSTREAM, "
  691.     dc.b    "AMIGA YORKSHIRE, ORACLE, MAYHEM UK, NETWORK, ACU, THE MIGHTY DRIUDS, "
  692.     dc.b    "AND PARANOIMIA. LOCAL GREETZ TO MAVERICK, MAXELL, FRODO, PAUL & DAVE, TOM JONES, TURKISH VAMPIRE, ZENITH, BRIAN, LES, BRUCE, CHRIS, STEVE, "
  693.     dc.b    "BOB, MICK AND ALL THE REST. PERSONAL GREETZ TO DAWN, LISA, LINDSEY, POPPY, MIMA, KITTY & KITTY. "
  694.     dc.b    "WE URGENTLY REQUIRE A MUSICIAN, PARTICUALLY ONE WHO USES SOUNDTRACKER.                       "
  695.     dc.b    "TIME TO WARP          3....               2....                1....              GO....              ",0
  696.     
  697. mes1:    dc.b    "LSD/AUTOMATION 1990",0    ; text for title
  698.     dc.b    " ANOTHER COMPACT",0    ; needs two lines!
  699.  
  700.  
  701. centre_mes1_1    equ    1    ; message 1 on title - (0=half space)
  702. centre_mes1_2    equ    1    ; message 2 on title - (1=no half space)
  703.  
  704. divider        equ    26
  705.  
  706. barcolour    equ    $fff    ; colour of highlight
  707. titlebg        equ    $444    ; colour of background of title
  708. bouncecolour    equ    $777    ; colour of bouncing text
  709.  
  710. delay2:        dc.l    0    ; delay before bouceing text appears
  711.  
  712. default        equ    1    ; menu item which is selected on loading (1-5)
  713. max        equ    3    ; maxumum number of items on the menu (1-5)
  714.  
  715. bounce_speed    equ    5    ; speed of boucing text (1-8)
  716. mini_1_speed    equ    1    ; speed of line 1 on the menu
  717. mini_2_speed    equ    2    ; speed of line 2 on the menu    
  718. mini_3_speed    equ    3    ; speed of line 3 on the menu
  719. mini_4_speed    equ    4    ; speed of line 4 on the menu
  720. mini_5_speed    equ    5    ; speed of line 5 on the menu
  721.  
  722.                 ; run1-5
  723.                 ; commands to execute!!
  724.                 ; finish with 0
  725. run1:        dc.b    "AUTO1",0    
  726.     even
  727. run2:        
  728.         dc.b    "AUTO2",0
  729.     even
  730. run3:        
  731.         dc.b    "auto3",0
  732.     even
  733. run4:        
  734.         dc.b    0
  735.     even
  736. run5:        
  737.         dc.b    0
  738.     even
  739.  
  740. scroller1:    dc.b    "CYBERGAMMON     ",0
  741. scroller2:    dc.B    "PANG    ",0
  742. scroller3:    dc.b    "ONSLAUGHT    ",0
  743. scroller4:    dc.b    "",0
  744. scroller5:    dc.b    "",0
  745.  
  746.     End
  747.